package pe.gob.sunarp.entidad;

import java.io.Serializable;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the PAGO_BANCO database table.
 * 
 */
@Entity
@Table(name="PAGO_BANCO")
public class PagoBanco implements Serializable {
	private static final long serialVersionUID = 1L;
	private long abonoId;
	private BigDecimal bancoId;
	private String cajero;
	private String codEnvio;
	private String concepto;
	private String cuentaId;
	private String estado;
	private Date fecha;
	private Date fechaEnvio;
	private String fechaOperacion;
	private String ipEnvio;
	private BigDecimal monto;
	private String numDocumento;
	private String numOperacion;
	private BigDecimal servicioId;
	private String sucursal;
	private String tipoDocumento;
	private String tipoOperacion;
	private String tipoPago;
	private Abono abono;

    public PagoBanco() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="ABONO_ID", unique=true, nullable=false)
	public long getAbonoId() {
		return this.abonoId;
	}

	public void setAbonoId(long abonoId) {
		this.abonoId = abonoId;
	}


	@Column(name="BANCO_ID")
	public BigDecimal getBancoId() {
		return this.bancoId;
	}

	public void setBancoId(BigDecimal bancoId) {
		this.bancoId = bancoId;
	}


	@Column(length=15)
	public String getCajero() {
		return this.cajero;
	}

	public void setCajero(String cajero) {
		this.cajero = cajero;
	}


	@Column(name="COD_ENVIO", length=4)
	public String getCodEnvio() {
		return this.codEnvio;
	}

	public void setCodEnvio(String codEnvio) {
		this.codEnvio = codEnvio;
	}


	@Column(length=5)
	public String getConcepto() {
		return this.concepto;
	}

	public void setConcepto(String concepto) {
		this.concepto = concepto;
	}


	@Column(name="CUENTA_ID", length=15)
	public String getCuentaId() {
		return this.cuentaId;
	}

	public void setCuentaId(String cuentaId) {
		this.cuentaId = cuentaId;
	}


	@Column(length=1)
	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}


    @Temporal( TemporalType.DATE)
	public Date getFecha() {
		return this.fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="FECHA_ENVIO")
	public Date getFechaEnvio() {
		return this.fechaEnvio;
	}

	public void setFechaEnvio(Date fechaEnvio) {
		this.fechaEnvio = fechaEnvio;
	}


	@Column(name="FECHA_OPERACION", length=8)
	public String getFechaOperacion() {
		return this.fechaOperacion;
	}

	public void setFechaOperacion(String fechaOperacion) {
		this.fechaOperacion = fechaOperacion;
	}


	@Column(name="IP_ENVIO", length=15)
	public String getIpEnvio() {
		return this.ipEnvio;
	}

	public void setIpEnvio(String ipEnvio) {
		this.ipEnvio = ipEnvio;
	}


	@Column(precision=12, scale=2)
	public BigDecimal getMonto() {
		return this.monto;
	}

	public void setMonto(BigDecimal monto) {
		this.monto = monto;
	}


	@Column(name="NUM_DOCUMENTO", length=15)
	public String getNumDocumento() {
		return this.numDocumento;
	}

	public void setNumDocumento(String numDocumento) {
		this.numDocumento = numDocumento;
	}


	@Column(name="NUM_OPERACION", length=15)
	public String getNumOperacion() {
		return this.numOperacion;
	}

	public void setNumOperacion(String numOperacion) {
		this.numOperacion = numOperacion;
	}


	@Column(name="SERVICIO_ID")
	public BigDecimal getServicioId() {
		return this.servicioId;
	}

	public void setServicioId(BigDecimal servicioId) {
		this.servicioId = servicioId;
	}


	@Column(length=4)
	public String getSucursal() {
		return this.sucursal;
	}

	public void setSucursal(String sucursal) {
		this.sucursal = sucursal;
	}


	@Column(name="TIPO_DOCUMENTO", length=2)
	public String getTipoDocumento() {
		return this.tipoDocumento;
	}

	public void setTipoDocumento(String tipoDocumento) {
		this.tipoDocumento = tipoDocumento;
	}


	@Column(name="TIPO_OPERACION", length=1)
	public String getTipoOperacion() {
		return this.tipoOperacion;
	}

	public void setTipoOperacion(String tipoOperacion) {
		this.tipoOperacion = tipoOperacion;
	}


	@Column(name="TIPO_PAGO", length=1)
	public String getTipoPago() {
		return this.tipoPago;
	}

	public void setTipoPago(String tipoPago) {
		this.tipoPago = tipoPago;
	}


	//bi-directional one-to-one association to Abono
	@OneToOne
	@JoinColumn(name="ABONO_ID", nullable=false, insertable=false, updatable=false)
	public Abono getAbono() {
		return this.abono;
	}

	public void setAbono(Abono abono) {
		this.abono = abono;
	}
	
}